Apparatus and a method of establishing the correct display order of probe channels for a logic analyzer

ABSTRACT

A method and apparatus for establishing the correct order of probe channels in a logic analyzer is disclosed. Logic analyzers have probe PODS connected thereto, the PODS having a plurality of probe tips connected thereto for further connection to the terminals of a product under test. With this invention, the order of connection of the tips to the terminals can be ignored because the correct order is established via the logic analyzer (LA) itself. A ROM has firmware stored therein for enabling the logic analyzer to establish the correct order of connection. The binary data from each POD is stored in memory. The binary data in memory may be converted to hexadecimal form and stored in the display controller. By using a keyboard, the operator displays, on the LA display, a menu-mode display, which includes a display of the probe channel identifiers for each POD, the identifiers reflecting the actual order of connection of the probe tips to the terminals of the product under test. The operator then displays, on the LA display, a state table display, which is a display of the binary (or hexadecimal) data for each channel for each increment in time. If the probe tips were connected to the incorrect terminals of the product under test, the keyboard is used to display the menu-mode display. Using the keyboard and the display, the operator changes the order of the probe channel identifiers on the display. This compensates for the incorrect order of connection of the probe tips to the terminals of the product under test. The desired state table display is then displayed on the LA.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method of establishing the correct display order of probe channels in a logic state analyzer, the analyzer having a plurality of probe channels, and a plurality of probe tips corresponding to the plurality of probe channels.

2. Description of the Prior Art

A typical electronics apparatus currently in use today includes a plurality of circuit boards, each of the circuit boards having a plurality of components connected thereto. Each component (or product under test) may further include a plurality of terminals, the terminals having signals applied thereto. A logic analyzer is used to measure and compare the signals present at each of the terminals of the product under test. The logic analyzer has a plurality of probe channels inherent therein. Each of these probe channels correspond to one of the terminals associated with the product under test. As the number of terminals increase, the number of channels in the logic analyzer also must increase. Some logic analyzers have 32, 64, 96, 104, or more channels inherent therein. When the operator is using this many channels in the logic analyzer, it is necessary for the operator to find an easy way to subdivide the channels into logical categories or groups. Typical groups may include 16 address lines, 8 data lines, and 5 control lines. Typical logic analyzers have one or more acquisition probes connected thereto, the probes including a plurality of probe tips. Each probe tip corresponds to one of the channels in the logic analyzer. The probe tips are connected to the individual terminals of the microprocessor or product under test. The signals present at each of the terminals are transmitted through the probe tips, through the acquisition probe, into the memory of the logic analyzer, and displayed on the logic analyzer display. The signals are represented by timing waveforms, and the individual timing waveforms are compared with one another on the display. However, as the number of terminals (and therefore the signals to be monitored) on the product under test increases, it is necessary for the operator to connect an increasingly higher number of probe tips to these terminals. It becomes increasingly more difficult for the operator to correctly connect all of the probe tips to their correct corresponding terminals of the product under test. In addition, due to the high number of terminals to be monitored, it was difficult to correctly analyze the voltage signals applied to these terminals using the timing waveform display mode.

Many times, the operator will connect the wrong probe tip to the wrong terminal of the product under test. This mistake is realized by watching the display of the logic analyzer. When he realizes this mistake, the operator must then exchange the probe tip connections such that the correct probe tip is connected to the correct terminal of the product under test. However, when this exchange is made, the operator may accidentally disconnect several of the other probe tips from their corresponding terminals. Assuming that the exchange is made correctly without disconnecting these other probe tips from their corresponding terminals, new data must then be acquired. This may present a problem, since, many times, this data is not available.

Other conventional logic analyzers include a vertical position control function for exchanging the vertical positions of the desired channel waveforms of the timing waveforms for comparing the desired channel timing waveforms with one another. This function is useful when using the timing display mode, that is, when displaying the acquired logic signals as timing waveforms. However, this function is not useful when using a state table mode display, that is, a display of the acquired logic signals as alphanumerics of a desired radix, such as binary, octal or hexadecimal. (See FIG. 3 for an example of a state table mode display).

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide a method of establishing the correct order of probe channels in a logic analyzer, the method being free of the aforementioned disadvantages of the prior art.

It is another object of the present invention to provide a method of correcting the order of probe channels associated with the individual terminals of the product under test by simply changing the display of a menu defining the actual order of probe channels associated with the terminals of the product under test, the menu being displayed on the display of the logic analyzer.

It is a further object of the present invention to provide a method which can, at any time, change the number of probe channels in a group, or change the order of two or more probe channel identifiers, the order ranging from the most significant bit of the probe channel identifier to the least significant bit of the probe channel identifier.

It is still another object of the present invention to provide a method which can establish the order of probe channels correctly without having to reacquire new data after the order of probe channels have been established.

These and other objects of the present invention are accomplished by generating a display of a menu (FIG. 2) which identifies the actual order of connection of the probe tips to the terminals of the product under test. The menu includes a plurality of probe channel identifiers, the probe channel identifiers being a range of numbers including a most significant bit, for example, the number seven, and a least significant bit, for example, the number zero. The identifiers, zero through seven, identify the probe tips which are connected to the individual terminals of the product under test. By using a keyboard, and a set of instructions or firmware in a ROM, the operator is capable of displaying a state table mode display (FIG. 3), which is defined as being a binary or hexadecimal representation of each of the bits at each terminal at various points in time. When the state table mode display is displayed on the logic analyzer, the operator can then determine whether or not the probe tips have been erroneously connected to the wrong terminals of the product under test. By using the keyboard, the operator redisplays the menu mode display inclusive of the channel identifiers (ranging from most significant bit seven to least significant bit zero). Using the keyboard, the operator then exchanges any two or more of the identifiers on the menu, to correspond to the connection of the correct probe tips to the correct terminals of the product under test. The operator then redisplays the state table mode display, which reflects the exchange of the probe channels. The state table mode display now shows the connection of the correct probe tips to the correct terminals of the product under test. By utilizing the keyboard, the firmware stored in the ROM, and the display on the logic analyzer, in making this exchange of probe channels, it is no longer necessary for the operator to disconnect the probe tips from their individual terminals of the product under test in order to reconnect them to their correct terminals. Consequently, no longer is there the threat of knocking off other probe tips from their individual terminals. In addition, it is no longer necessary to reacquire new data, since the data acquired from the terminals of the product under test has been permanently stored in a memory, albeit in the wrong order. Consequently, the data has not been lost.

Further scope of applicability of the present invention will become apparent from the description given hereinafter. However, it should be understood that the details of the description and the specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings, which are given by way of illustration only, and thus are not limitative of the present invention, and wherein:

FIG. 1 illustrates a block diagram of a logic analyzer useful with the present invention;

FIGS. 2 and 4 illustrate a menu mode display useful for explaining the operation of the present invention; and

FIGS. 3 and 5 illustrate a state table mode display useful for explaining the operation of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

One preferred embodiment of the present invention will be described hereinafter in detail by reference to the attached drawings. Referring to FIG. 1, a block diagram of a logic analyzer useful with the present invention is illustrated. Data acquisition probe pods 10, 12, 14, and 16 (hereinafter referred to as pod A, B, C, and D) are connected to a level conversion circuit 18 via data buses. Each of the probe pods 10-16 has eight probe tips connected thereto, the sets of eight probe tips being referred to as probe groups 20, 22, 24, and 26. The probe tips 20-26 pick up the logic signals from the terminals of the product under test. The probe pods A, B, C, and D transfer the logic signals to the level conversion circuit 18. The conversion circuit 18 determines whether or not the logic signals being input thereto are logical ones or zeros and then converts these logic levels into other predetermined logic levels corresponding to the logical ones and zeros. The level conversion circuit 18 is connected to an acquisition memory circuit 28. The memory circuit 28 is divided into certain sections which correspond to the individual probe pods A-D. Also connected to the acquisition memory 28 is a memory address register 30 which addresses certain locations in the memory 28 and, in accordance with this addressing function, the level conversion circuit stores the other predetermined logic levels corresponding to the logical ones and zeros into the addressed locations in the acquisition memory, the other predetermined logic levels associated with probe pod A being stored in the corresponding section in the acquisition memory 28 which correspond to that probe pod. Similarly, the logic levels associated with probe pods B-D are also stored in their corresponding sections in the acquisition memory, in response to the addressing function performed by the memory address register 30.

The level conversion circuit 18 is also connected to the input of a word recognition circuit 32. The word recognition circuit 32 detects whether or not a desired word from the level conversion circuit 18 has been stored in the acquisition memory, and applies an output signal to the main bus 34 including data, address and control information in response thereto. The word recognition circuit 32 also energizes a counter 33 in response to receipt of the desired word from the level conversion circuit 18. The counter is also energized by a clock input 29, the clock input causing the counter to count to a predetermined level, at which time, the counter energizes the memory address register 30 thereby stopping the incrementation of the memory address register, and further, preventing the storage of the other predetermined logic levels from the level conversion circuit 18 into the acquisition memory 28.

The controller interface/register circuit 36 is connected to the output of the acquisition memory 28 and, thereby, receives the stored data from the acquisition memory 28 in a readout mode. The interface/register circuit 36 is connected to the main bus 34, and thereby supplies the stored data to the main bus. Moreover, the circuit 36 receives the control data from main bus 34 to control the store/readout mode of the acquisition memory circuit 28, the address counting speed of the memory address register 30, and to control the desired word received by the word recognition circuit 32. Microprocessor 40, keyboard 42, random access memory (RAM) 44, read only memory (ROM) 46, and display controller 48 are connected to the main bus 34.

The microprocessor 40 is a central processing unit. It processes the data retrieved from the interface/register circuit 36 in accordance with instructions from the keyboard 42 and firmware stored in ROM 46 and generates a control signal in response thereto. The RAM 44 acts as a temporary memory and assists in the operation of the microprocessor 40. The RAM 44 contains the instructions which dictate the order in which the binary data, corresponding to the actual connection of the probe tips to their terminals of the product under test, is retrieved from the memory 28 and displayed in the state table mode display. The microprocessor 40 receives the binary data from the controller interface register 36, and converts this binary data into hexadecimal (octal or binary) data corresponding thereto, and stores this data in the display controller 48. The display controller 48 operates in accordance with the instructions received from the ROM 46 and the processing instructions received from the microprocessor 40 to generate the menu mode display and the state table mode display on the logic analyzer display monitor 54 utilizing the order of display of the binary data stored in the RAM 44. The timing diagram display on the display monitor 54 is also generated in accordance with the binary data stored in the acquisition memory 28 and the instruction signals received from microprocessor 40. By way of the keyboard 42, the operator can control the display mode, that is, the operator can display the timing diagram display, the menu mode display, or the state table mode display; the operator may also control the trigger word, the clock frequency, the memory address, the trigger position, and the store/readout mode via the keyboard 42. The character generator 50 generates the actual characters on the display monitor 54 in response to the instructions received from the display controller 48. Examples of the menu mode display can be seen on FIGS. 2 and 4 of the drawings of the present application. The state table mode display may be seen in FIGS. 3 and 5 of the drawings of the present application.

The firmware stored in the ROM 46 is characterized by the following algorithm (denoted as the swizzler):

The swizzler depends on the CHANNEL specification menu for information on placement of individual channels from the probes. The CHANNEL specification will first be described and then how these structures are used to swizzle data. Refer to the programming example in the paragraphs to follow:

I. CHANNEL has three main structures used by the swizzler. These are as follows:

DISPLAY₋ ORDER--This contains the name and order of each displayable group.

CHAN₋ GROUPS--Contains characteristics of the group:

1. index: An index into the CHAN₋ BITS structure for the LSB of the group.

2. radix: The radix of the group.

3. size: The displayable size of the group.

4. num₋ of₋ channels: Total channels in the group.

5. pol: Polarity.

6. num₋ of₋ pods: Total probe pods in the group.

7. card₋ type: Type of card in group.

CHAN₋ BITS--Contains board and lead information for each bit in every group.

II. The swizzler works in the following way:

For each group in the DISPLAY₋ ORDER field which has valid acquisition cards do:

1. get the INDEX into the CHAN₋ BITS array for the LSB from CHAN₋ GROUPS.

2. get the number of channels in the group.

3. from the CHAN₋ BITS array subscripted by INDEX, obtain the next bit of memory with board number and lead by:

> board number is the slot to read.

> the given sequence number is the index into the hardware memory to read.

> shift the byte of memory to the right "lead" number of times and AND that value with 1 to obtain the correct bit.

> if pol=1 invert the bit.

> store the bit into the swizzle data structure subscripted by INDEX.

4. increment the CHAN₋ BITS INDEX and repeat steps 1-4 for the total number of channels in the group.

5. now display the swizzled data according to CHAN₋ GROUPS. RADIX

PROGRAMMING EXAMPLE

For each group in the display order field do

With CHAN₋ DATA .CHAN₋ GROUPS[group] do

Begin

If card₋ type < > C₋ NONE then

For Bit₋ num:=Index to Index+number₋ of₋ channels-1 do

With CHAN₋ BITS[Bit₋ num] do

Begin

BYTE:=MEMORY[board₋ number] [sequence];

If pol=1 then BYTE:=NOT BYTE;

Swizzled[BIT₋ num]:=shift(BYTE, -lead₋ number) AND 1;

End;

End;

The functional operation of the present invention can best be illustrated by referring to the menu mode display and the state table displays shown in FIGS. 2, 4, and 3, 5, respectively, of the drawings of the present application: The operator connects probe tips 20 through 26 to the test terminals of a product under test (PUT), and sets various conditions in the logic analyzer via the keyboard 42 while observing the menu mode display on the display monitor 54. One example of the menu mode display is illustrated in FIG. 2 which displays the connected condition of data acquisition probe A (POD A). In this example, the "RADIX" and the logic polarity "POL" are respectively selected to be hexadecimal "HEX" and positive logic "+". As a result, since the Radix is set to "HEX", the data appearing on the state table display (FIG. 3) will appear in hexadecimal form. Since the logic polarity "POL" is set to a positive logic "+", the binary data derived from level conversion circuit 18 will not be inverted with respect to the binary data input thereto from the probe pods (A-D). The threshold level "THRESHOLD" is selected to the TTL level "TTL+1.40 V". This ensures that a binary "1" will be generated from level conversion circuit 18 if a corresponding individual signal from a probe tip of a probe pod exceeds 1.4 volts. The menu mode display of FIG. 2 also displays a set of probe channel identifiers. In FIG. 2, these identifiers appear as "CH 76543210", where 7 is designated as the most significant bit (MSB) and 0 is the least significant bit. The probe channel identifiers associated with probe tips 20 are consecutively established from the least significant bit "zero" to the most significant bit "seven" (MSB). Even though the probe tips are erroneously connected to the wrong terminals of the product under test, the order of the channels in the menu mode display of FIG. 2 will still be "seven, six, five, four, three, two, one, zero", "seven" being the MSB, and "zero" being the least significant bit (LSB). The display of FIG. 2 eliminates other information which has no relation to the present invention. The conditions of other data acquisition probe pods 12, 14, and 16 are set similarly to probe pod 10. The operator further sets the clock frequency, trigger position, trigger word, and so forth, via keyboard 42. As described hereinbefore, these conditions are set by microprocessor 40 and keyboard 42 in accordance with the firmware of ROM 46.

When the operator instructs the logic analyzer to initiate the store mode, acquisition memory circuit 28 stores the logic signals detected by probe tips 20-26. When the word recognition circuit 32 detects the desired word, and the counter 33 counts to its predetermined level, acquisition memory circuit 28 is prevented from storing further input logic signals from the level conversion circuit 18. It should be noted that there is a memory area in memory 28 corresponding to each probe pod.

After the store mode ends, that is, after the memory 28 is prevented from storing further input logic signals, the readout mode starts. Microprocessor 40 receives the stored binary signals from acquisition memory circuit 28 via controller interface/register 36 and main bus 34, and converts the received binary signals into hexadecimal signals in accordance with the firmware stored in ROM 46. The hexadecimal signals are stored in display controller 48 and are displayed as alphanumerics on monitor 54 via character generator 50. Based on the instructions from the ROM 46 and keyboard 42, the display controller 48 generates the menu mode display (FIG. 2). FIG. 3 illustrates a state table (mode) display (appearing on monitor 54) which displays data received from acquisition probe pod 10 (POD A), the data appearing in hexadecimal form. In FIG. 3, the "SEQ" column illustrates a time sequence, ranging from 13 to 27. The "A-HEX" column of data represents a hexadecimal representation of the binary bits for each channel, the binary bits for each channel appearing at different points in the time sequence. The operator observes this state table mode display shown in FIG. 3 to measure the product under test. The state table display was generated by the display controller 48, under the control of ROM 46 and microprocessor 40, using the data in display controller 48, in response to actuation of a key on keyboard 42, the data being displayed in an order dictated by the order instructions stored in RAM 44.

If, by viewing the FIG. 3 state table display, the operator notices that the data displayed is incorrect or is not displayed in the correct order or sequence, based on the erroneous connections of the probe tips to the terminals of the product under test, he actuates a key on the keyboard 42. The logic analyzer displays the menu mode display again (FIG. 2). The order of the probe channels is then established correctly by the user by using the keyboard 42 and the menu mode display, the correct order being established under the control of microprocessor 40. Using the keyboard 42 and the display 54, the operator superimposes a cursor over the probe channel identifiers in FIG. 2 which should be corrected or exchanged. Using the keyboard, the operator makes the required change to the sequence of the probe channel identifiers in FIG. 2. Referring to FIG. 4, the menu mode display is again illustrated. However, channels 4 and 5 have been exchanged. The instructions in RAM 44, which dictate the order in which the binary data is retrieved from memory 28 and displayed on the state table mode display of FIG. 5, are changed in response thereto. In response to the change made by the operator via the keyboard, microprocessor 40 retrieves the binary data from acquisition memory 28, interchanges the data associated with channels 4 and 5 in accordance with the new instructions in RAM 44, and converts the interchanged data into hexadecimal signals in accordance with the firmware stored in ROM 46. The corrected hexadecimal signals are stored in display controller 48 and displayed as alphanumerics on monitor 54 as shown in FIG. 5 under the control of display controller 48 and character generator 50. The stored data of the other data acquisition probe pods 12-16 are processed similarly to probe pod 10. Monitor 54 can display all of the stored data at the same time.

As understood from the foregoing description, the present invention can establish the correct order of connection of probe tips to the terminals of a PUT, and therefore can establish the correct order of the probe channels without disconnecting the probe tips from their respective terminals. Therefore, no longer will the operator accidentally knock off several other probe tips from their respective terminals in the process of identifying and exchanging various other probe tips. According to the present invention, since the probe tips were not removed from their terminals as originally connected, data will not have to be re-acquired since the original data was not lost. Therefore, the operator can acquire the data once and then format the display in the way it makes the most sense to him.

Although the above description is based only on one preferred embodiment of the present invention, it is apparent to those skilled in the art that various modifications can be made without departing from the scope and spirit of the present invention. For example, the order of the probe channels may be established between the probe tips of different probe pods. The radix of the state table may be the binary or octal instead of the hexadecimal. The present invention may be used with the timing display mode. In this instance, it is easy to compare the timing relation of the desired channels.

Further scope of applicability of the present invention will become apparent from the description given hereinafter. However, it should be understood that the details of the description and the specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description. 

We claim as our invention:
 1. A method of establishing the correct order of probe channels of a logic analyzer, said logic analyzer indentifying each of said probe channels by providing a plurality of channel identifiers, said logic analyzer having connected thereto at least one probe pod, said pod having a plurality of probe tips extending therefrom for connection to a corresponding plurality of terminals of a product under test, each of said probe tips corresponding to one of said channel indentifiers, comprising the steps of:connecting said probe tips to said terminals of said product under test; determining the actual order of connection of said probe tips to said terminals of said product under test thereby determining a desired order of connection of said probe tips to said terminals; and changing the order of individual channel identifiers to reflect said desired order of connection of said probe tips to said terminals.
 2. The method of claim 1 wherein said logic analyzer includes a keyboard and a display means, and wherein the step of determining the actual order of connection of said probe tips to said terminals comprises the steps of:generating a first display on said display means of said logic analyzer, said first display including a plurality of bits indicative of the voltage signals appearing on the terminals of the product under test at various points in time, the actual order of connection of said probe tips being determined from said first display.
 3. The method of claim 2 further comprising the step of:generating a second display on said display means subsequent to the generation of said first display, said second display including said plurality of channel identifiers corresponding to said probe channels of said logic analyzer and to said probe tips of said probe pod, said keyboard and said second display being used to perform the changing step.
 4. The method of claim 3 wherein said logic analyzer further includes microprocessor means for controlling the generation of said first and second displays, said microprocessor means further including a read-only memory means for storing a plurality of program instructions therein, and display controller means responsive to the instructions received from the read-only memory means for controlling the display of said first and second displays; andwherein the steps of generating a first and a second display comprises the step of: actuating a first and a second key, respectively, on said keyboard, a first set of the instructions stored in said read-only memory means being received by said display controller means for generating said first display, a second set of the instructions stored in said read-only memory means being received by said display controller means for generating said second display.
 5. The method of claim 4 wherein said logic analyzer means further comprises random-access memory means for storing the order of said channel identifiers therein corresponding to the order of said channel identifiers appearing in said second display, the order of said channel identifiers stored in said random-access memory means affecting the order of said plurality of bits in the first display on said display means; andwherein the step of changing the order of said channel identifiers comprises the steps of: positioning a cursor on said display means during the generation of said second display, the cursor being superimposed over the channel identifier undergoing change; actuating a third key on said keyboard to change the channel identifiers undergoing change to a desired channel identifier; repeating the positioning and actuating steps to change other channel identifiers undergoing change to other desired channel identifiers, the actuating and repeating steps changing the order of said channel identifiers stored in said random-access memory means thereby changing the order of said plurality of bits in the first display on said display means.
 6. An apparatus for establishing the correct order of probe channels in a logic analyzer, said logic analyzer analyzing a plurality of voltage signals appearing on a plurality of terminals of a product under test, comprising:receiving means for receiving said plurality of voltage signals from said terminals of the product under test; means connected to the receiving means for storing the voltage signals therein; first means for providing a presentation of the order of said plurality of voltage signals as stored in the storing means; and second means interconnected between the storing means and said first means for altering the order of said plurality of voltage signals as presented on said presentation by intercoupling ones of said voltage signals in different order in response to identification of individual voltage signals for reordering.
 7. An apparatus in accordance with claim 6 wherein said first means comprises a display means for displaying the order of said plurality of voltage signals as stored in the storing means.
 8. An apparatus in accordance with claim 7 wherein said second means comprises:keyboard means for entering instructions relating to the required change in the order of said voltage signals as displayed on said display means; and processing means responsive to the entry made via said keyboard means for making said required change in said order thereby altering said order, said display means displaying said plurality of voltage signals in an order required by said processing means.
 9. A method of establishing the correct order of probe channels of a logic analyzer having display means, said logic analyzer indentifying said probe channels by providing a plurality of channel identifiers, said logic analyzer having connected thereto a plurality of probe tips for connection to a corresponding plurality of terminals of a product under test, each of said probe tips corresponding to one of said probe channels and being indentified by one of said channel indentifiers, comprising the steps of:connecting said probe tips to said terminals of said product under test; generating a display on said display means of said logic analyzer for portraying the input on said probe channels as ordered by said channel identifiers, said display being indicative of the sequence of signals appearing on the terminals of the product under test at various points in time as well as the order of connection of said probe tipes; and selectively changing the order of individual channel identifiers relative to said plurality of channel identifiers to correct for misordered connection of said probe tips.
 10. The method according to claim 9 wherein said logic analyzer includes keyboard means, said method further including the steps of:generating a second display on said display means including said plurality of channel identifiers corresponding to said probe channels, positioning a cursor on said display means during the generation of said second display for indicating a channel identifier, and operating said keyboard means for altering the position of the indicated channel identifier relative to said plurality of identifiers to bring about the change in the order of channel identifiers. 